package com.todo.strategy.offline.iface.request;

import com.todo.common.common.entity.CurrentStaff;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author zhangwenxiang
 * @date 2024/3/17 19:28
 * @description
 */
@Data
@Schema(title = "更新攻略关联入参", description = "更新攻略关联入参")
public class UpdateStrategyRelationReq {

    private CurrentStaff _staff;
    /**
     * 主键
     */
    @Schema(title = "主键", description = "主键")
    private Long id;
    /**
     * 攻略id
     */
    @Schema(title = "攻略id", description = "攻略id")
    private Long strategyId;
    /**
     * 标题
     */
    @Schema(title = "标题", description = "标题")
    private String title;
    /**
     * 备注
     */
    @Schema(title = "备注", description = "备注")
    private String remark;
    /**
     * 关联类型
     */
    @Schema(title = "关联类型", description = "关联类型")
    private Integer relationType;
    /**
     * 关联Id
     */
    @Schema(title = "关联Id", description = "关联Id")
    private Long relationId;
    /**
     * 当天开始时间
     */
    @Schema(title = "当天开始时间", description = "当天开始时间")
    private String startTime;
    /**
     * 关联名称
     */
    @Schema(title = "关联名称", description = "关联名称")
    private String relationName;
    /**
     * 计划第几天
     */
    @Schema(title = "计划第几天", description = "计划第几天")
    private Integer planDay;
    /**
     * 旅游规划、建议
     */
    @Schema(title = "旅游规划、建议", description = "旅游规划、建议")
    private Suggest suggest;
    /**
     * 时间花费 - 分钟
     */
    @Schema(title = "时间花费 - 分钟", description = "时间花费 - 分钟")
    private Integer timeCost;
    /**
     * 金额花费
     */
    @Schema(title = "金额花费", description = "金额花费")
    private BigDecimal moneyCost;

    @Data
    public static class Suggest {
        /**
         * 出行规划
         */
        @Schema(title = "出行规划", description = "出行规划")
        private String travelPlan;
        /**
         * 出行备注
         */
        @Schema(title = "出行备注", description = "出行备注")
        private String travelRemark;
        /**
         * 出行建议
         */
        @Schema(title = "出行建议", description = "出行建议")
        private String travelSuggest;
        /**
         * 必备商品列表
         */
        @Schema(title = "必备商品列表", description = "必备商品列表")
        private List<String> necessaryItems;
    }

    public boolean baseCheck() {
        if (id == null || strategyId == null || title == null || relationType == null || relationId == null || planDay == null || suggest == null) {
            return false;
        }
        return true;
    }
}
